package com.devchronicles.asynchronous;
import java.io.*;import javax.servlet.*;import
javax.servlet.annotation.*;import
javax.servlet.http.*;@WebServlet(urlPatterns="/async",
asyncSupported=true)public class AsyncServlet extends HttpServlet {
@Resource
private ManagedThreadFactory factory;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
final AsyncContext asyncContext = req.startAsync();
final PrintWriter writer = res.getWriter();
Thread thread = factory.newThread(new Runnable() {
@Override
public void run() {
writer.println("Complete!");
asyncContext.complete();
}
});
thread.start();
}}